AT(1) | Podręcznik Programisty Linuksa | AT(1) |
NAZWA¶
at, batch, atq, atrm - kolejkuj, sprawdź lub usuń zadania do późniejszego wykonania
SKŁADNIA¶
at [-V] [-q kolejka] [-f
plik] [-mldbv] CZAS
at -c zadanie [zadanie...]
atq [-V] [-q kolejka]
atrm [-V] zadanie [zadanie...]
batch [-V] [-q kolejka] [-f plik]
[-mv] [CZAS]
OPIS¶
at i batch czytają ze standardowego wejścia lub podanego pliku polecenia, które mają zostać wykonane w terminie późniejszym przy użyciu /bin/sh.
- at
- wykonuje polecenia o zadanym czasie.
- atq
- pokazuje oczekujące zadania użytkownika, chyba że jest on superużytkownikiem; w tym przypadku wyświetlane są zadania wszystkich użytkowników. Postać wierszy wynikowych (po jednym na każde zadanie): numer zadania, data, godzina, klasa zadania.
- atrm
- usuwa zadania o zadanych identyfikatorach (numerach).
- batch
- wykonuje polecenia, gdy pozwala na to poziom obciążenia systemu; inaczej mówiąc, gdy średnie obciążenie spada poniżej 0.8 lub wartości określonej w wywołaniu atrun.
At pozwala na dość złożone określanie czasu, wychodząc poza standard POSIX.2 Akceptuje czasy w postaci HH:MM nakazujące wykonanie zadania o zadanej godzinie. (Jeśli czas ten już minął, to przyjmowany jest następny dzień.) Możesz też podać midnight [północ], noon [południe] lub teatime ["czas herbatki": czwarta po południu]. Możesz używać przyrostków [tłum: decydują one równocześnie o użyciu zegara 12-godzinnego zamiast 24-godzinnego] AM lub PM do zapisu uruchomień porannych lub wieczornych. Można też wskazać, w jakim dniu ma zostać uruchomione zadanie, podając datę w postaci nazwa-miesiąca dzień z opcjonalnym rokiem, lub też w formacie MMDDYY, MM/DD/YY czy DD.MM.YY. Określenie daty musi występować po określeniu godziny (pory dnia). Możesz również podawać czasy takie jak now [teraz] + liczba jednostek-czasu, gdzie jednostkami-czasu mogą być minutes [minuty], hours [godziny], days [dni], lub weeks [tygodnie]. Można też nakazać at uruchomienie zadania w dniu dzisiejszym kończąc określenie czasu słowem today [dzisiaj], czy jutrzejszym, używając przyrostka tomorrow [jutro].
Na przykład, by uruchomić zadanie za trzy dni, o
godzinie 4 po południu, powinieneś wykonać:
at 4pm + 3 days
uruchomienie zadania o 10:00, 31 lipca:
at 10am Jul 31
jutro o pierwszej w nocy:
at 1am tomorrow
Dokładną definicję specyfikacji czasu można znaleźć w /usr/doc/packages/at/timespec.
Zarówno at jak i batch, czytają i wykonują polecenia ze standardowego wejścia lub z pliku określonego opcją -f. Z czasu wywołania poleceń zachowywane są katalog roboczy, środowisko systemowe (z wyjątkiem zmiennych TERM, DISPLAY i _) oraz domyślne prawa dostępu (umask). Polecenie at - czy batch - wywołane z powłoki su(1) zachowają bieżący identyfikator użytkownika. Wyniki kierowane przez zadane polecenia na standardowe wyjście lub wyjście raportowania błędów zostaną skierowane do skrzynki pocztowej użytkownika (przekazane pocztą elektroniczną). Przesyłki te zostaną dostarczone przy pomocy polecenia /usr/sbin/sendmail. Jeżeli at wykonywane jest z powłoki su(1), to korespondencję otrzyma właściciel powłoki zgłoszeniowej (login shell).
Superużytkownik może zawsze posługiwać się opisywanymi poleceniami. Dla pozostałych użytkowników, zezwolenia na użycie at określane są przez pliki /etc/at.allow i /etc/at.deny.
Jeżeli istnieje plik /etc/at.allow, to wyłącznie użytkownicy, których nazwy doń wpisano, mają prawo uruchamiania at.
Jeśli nie istnieje /etc/at.allow, to sprawdzany jest plik /etc/at.deny, a każdemu użytkownikowi, którego w nim nie wymieniono, zezwala się na używanie at. [tłum: tzn. użytkownicy ujęci w /etc/at.deny mają zakaz uruchamiania opisywanych poleceń.]
Jeśli nie istnieje żaden z plików kontrolujących dostęp do polecenia at, to posługiwać się nim może wyłącznie superużytkownik.
Pusty plik /etc/at.deny oznacza, że pozwala się na używanie opisywanych poleceń wszystkim użytkownikom. Jest to konfiguracja domyślna.
OPCJE¶
- -V
- wyświetla numer wersji programu na standardowe wyjście błędów.
- -q kolejka
- używa zadanej kolejki. Określenie kolejki składa się z pojedynczej litery; dopuszczalne są określenia kolejki w zakresie od a do z oraz od A do Z. Kolejka a jest kolejką domyślną dla at, zaś kolejka b domyślną dla batch. Kolejki opisywane kolejnymi literami uruchamiane są z wzrastającym priorytetem. Specjalna kolejka "=" zarezerwowana jest dla zadań obecnie wykonywanych.
Jeśli zadanie wysyłane jest do kolejki określonej dużą literą, to traktowane jest jakby było wysłane do wykonania o tym czasie przez polecenie batch. Jeśli użyto konkretnej kolejki w poleceniu atq, to pokaże ono tylko zadania oczekujące w tej kolejce.
- -m
- Po zakończeniu zadania wyślij pocztą powiadomienie do użytkownika, nawet jeśli zadanie nie wysłało danych na wyjście.
- -f plik
- Czyta zadania z pliku a nie ze standardowego wejścia.
- -l
- Jest skrótem (aliasem) dla atq.
- -d
- Jest skrótem dla atrm.
- -v
- Pokazuje czas, o jakim zostanie wykonane zadanie.
Czasy wyświetlone zostaną w formacie "1997-02-20 14:50", chyba że ustawiono zmienną środowiska POSIXLY_CORRECT; ; wówczas będzie to "Thu Feb 20 14:50:00 1996".
PLIKI¶
/var/spool/atjobs
/var/spool/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny
ZOBACZ TAKŻE¶
BŁĘDY¶
Poprawne działanie batch w Linuksie zależy od obecności typu katalogu proc- montowanego w /proc.
Jeżeli plik /var/run/utmp nie jest dostępny lub jest uszkodzony, albo jeśli podczas wywoływania at użytkownik nie jest zalogowany, to poczta wysyłana jest do użytkownika o identyfikatorze znalezionym w zmiennej środowiska LOGNAME. Jeżeli nie jest ona zdefiniowana lub jest pusta, to przyjmowany jest bieżący identyfikator użytkownika.
At i batch w obecnej implementacji są nieużyteczne w sytuacji, kiedy użytkownicy rywalizują o zasoby. Jeśli jest tak w przypadku Twojego systemu, powinieneś rozważyć inne rozwiązanie systemu wsadowego, takie jak nqs.
AUTOR¶
At zostało w większości napisane przez Thomasa Koeniga, ig25@rz.uni-karlsruhe.de.
listopad 1996 | local |